package com.wonder.constant;

import com.vtuzx.core.constant.IVtuzxEnum;
/**
 * 单据类型
 */
public enum BillType implements IVtuzxEnum<BillType> {
    /** 工单 */
    JHGD("JHGD", "101", "计划工单", 0),
    /** 其他收货单 */
    VSBX("VSBX", "201", "VS波形", 0),
    /** 测试波形 */
    CSBX("CSBX", "301", "测试波形", 0),;
    /** 枚举值 */
    private final String _key;

    /** 二维码关键字 */
    private final String _barcodeKey;

    /** 名称 */
    private final String _label;

    /** 出入库标志位 */
    private final int _inventoryIO;

    /**
     * 初始化枚举值
     *
     * @param key 键值
     * @param barcodeKey 二维码关键字
     * @param label 名称
     * @param inventoryIO 出入库标志位
     */
    BillType(String key, String barcodeKey, String label, int inventoryIO) {
        this._key = key;
        this._barcodeKey = barcodeKey;
        this._label = label;
        this._inventoryIO = inventoryIO;
    }

    public static BillType getEnum(String key) {
        for (BillType ele : values()) {
            if(ele.toString().equals(key)) {
                return ele;
            }
        }
        return null;
    }

    /**
     * 重写toString
     *
     * @return 键值
     */
    public String toString() {
        return _key;
    }

    /**
     * 获取二维码关键字
     *
     * @return 二维码关键字
     */
    public String barcodeKey() {
        return _barcodeKey;
    }

    /**
     * 获取名称
     *
     * @return 名称
     */
    public String label() {
        return _label;
    }

    /**
     * 获取出入库标志位
     *
     * @return 出入库标志位
     */
    public int inventoryIO() {
        return _inventoryIO;
    }
}
